Page({
  data: {
    delBtnWidth: 180,//滑动删除按钮宽度单位（rpx）
    noCompleteData: [
      {
        title: '测试名称测试名称测试名测试名称测试名称测试名称测试名称称测试名称测试名称',
        category: {
          color: 'red',
          category_name: '工作',
        },
        is_complete: 0,
        create_time: '2022-07-24 00:00:00',
        notice_time: '2022-07-24 00:00:00',
        isComplete: false,
        is_send_notice: 1,
        txtStyle: '',
      },
      {
        title: '测试名称1',
        category: {
          color: '#5ab58f',
          category_name: '工作1',
        },
        is_complete: 0,
        create_time: '2022-07-24 00:00:00',
        notice_time: '2022-07-24 00:00:00',
        isComplete: true,
        is_send_notice: 1,
        txtStyle: '',
      }
    ]
  },
  onLoad: function () {
    console.log('Welcome to Mini Code')
  },


  //滑动效果 2022.7.23
  touchS: function (e) {
    console.log('滑动', e)
    if (e.touches.length == 1) {
      this.setData({
        //设置触摸起始点水平方向位置
        startX: e.touches[0].clientX
      });
    }
  },

  touchM: function (e) {
    if (e.touches.length == 1) {
      //手指移动时水平方向位置
      var moveX = e.touches[0].clientX;
      //手指起始点位置与移动期间的差值
      var disX = this.data.startX - moveX;
      var delBtnWidth = this.data.delBtnWidth;
      var txtStyle = "";
      if (disX == 0 || disX < 0) {//如果移动距离小于等于0，文本层位置不变
        txtStyle = "left:0px";
      } else if (disX > 0) {//移动距离大于0，文本层left值等于手指移动距离
        txtStyle = "left:-" + disX + "px";
        if (disX >= delBtnWidth) {
          //控制手指移动距离最大值为删除按钮的宽度
          txtStyle = "left:-" + delBtnWidth + "px";
        }
      }
      //获取手指触摸的是哪一项
      var index = e.currentTarget.dataset.index;
      var list = this.data.noCompleteData;
      if (index >= 0) {
        list[index].txtStyle = txtStyle;
        //更新列表的状态
        this.setData({
          noCompleteData: list
        });
      }
    }
  },

  touchE: function (e) {
    console.log('滑动结束', e)
    if (e.changedTouches.length == 1) {
      //手指移动结束后水平位置
      var endX = e.changedTouches[0].clientX;
      //触摸开始与结束，手指移动的距离
      var disX = this.data.startX - endX;
      var delBtnWidth = this.data.delBtnWidth;
      //如果距离小于删除按钮的1/2，不显示删除按钮
      var txtStyle = disX > delBtnWidth / 2 ? "left:-" + delBtnWidth + "px" : "left:0px";
      //获取手指触摸的是哪一项
      var index = e.currentTarget.dataset.index;
      var list = this.data.noCompleteData;
      if (index >= 0) {
        list[index].txtStyle = txtStyle;
        list.forEach((e, k) => {
          if (k != index) {
            e.txtStyle = 'left:0px';
          }
        })
        //更新列表的状态
        this.setData({
          noCompleteData: list
        });
      }
    }
  },

  //获取元素自适应后的实际宽度
  getEleWidth: function (w) {
    var real = 0;
    try {
      var res = tt.getSystemInfoSync().windowWidth;
      var scale = (750 / 2) / (w / 2);
      //以宽度750px设计稿做宽度的自适应
      real = Math.floor(res / scale);
      return real;
    } catch (e) {
      return false;
      // Do something when catch error
    }
  },

  initEleWidth: function () {
    var delBtnWidth = this.getEleWidth(this.data.delBtnWidth);
    this.setData({
      delBtnWidth: delBtnWidth
    });
  },

  //修改待办内容 2022.7.23
  async modifyTodo(e) {
    console.log('点击了修改待办')
    // this.editTodo(index, content_id);
  },



  //点击删除按钮事件
  async delTodo(e) {
    console.log('点击了删除待办', e)
    //以下是删除逻辑
  },

  //滑动效果 2022.7.23



})
